gtkrange: Add some checks to gtk_range_set_slider_size_fixed()
authorJavier Jardón <jjardon@gnome.org>
Fri, 13 Aug 2010 15:06:10 +0000 (17:06 +0200)
committerJavier Jardón <jjardon@gnome.org>
Mon, 23 Aug 2010 18:47:16 +0000 (20:47 +0200)
Recalculate layout only if the range is already mapped and
adjustment is not NULL.

gtk/gtkrange.c

index 7d4a36be9462024420593e76f2f1bb122dec2a41..b698b343662487c528a46cceb0dc500946d0ba47 100644 (file)
@@ -961,9 +961,12 @@ gtk_range_set_slider_size_fixed (GtkRange *range,
     {
       range->slider_size_fixed = size_fixed ? TRUE : FALSE;
 
-      range->need_recalc = TRUE;
-      gtk_range_calc_layout (range, range->adjustment->value);
-      gtk_widget_queue_draw (GTK_WIDGET (range));
+      if (range->adjustment && gtk_widget_get_mapped (GTK_WIDGET (range)))
+        {
+          range->need_recalc = TRUE;
+          gtk_range_calc_layout (range, gtk_adjustment_get_value (range->adjustment));
+          gtk_widget_queue_draw (GTK_WIDGET (range));
+        }
     }
 }